package com.harmontronics.hanma.paas.paas.dto.input;

import io.swagger.annotations.ApiModelProperty;

import java.time.LocalDateTime;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;

import lombok.Data;

/**
 * 租户-应用表
 *
 * @author cms-generator
 * @email cms-generator@harmontronics.com
 * @date 2021-03-12 10:21:19
 */
@Data
public class HmTenantAppCreateInput {

    /**
     * 租户ID
     */
    @ApiModelProperty(value = "租户ID")
    private Long tenantId;
    /**
     * 父级ID
     */
    @ApiModelProperty(value = "父级ID")
    private Long parentId;
    /**
     * 应用名称
     */
    @ApiModelProperty(value = "应用名称")
    @Size(max = 128, message = "hm.paas.app_name_maxSize_error")
    @NotBlank(message = "hm.paas.app_name_blank_error")
    private String appName;
    /**
     * 类型，0：默认值 1:文件夹2：应用
     */
    @ApiModelProperty(value = "类型，0：默认值 1:文件夹2：应用")
    private Integer appType;
    /**
     * 应用图标
     */
    @ApiModelProperty(value = "应用图标")
    private String icon;

    /**
     * 状态，0：未锁定 1:已锁定
     */
    @ApiModelProperty(value = "状态，0：未锁定 1:已锁定")
    private Integer status;

    /**
     * 是否以发布，0：未发布 1:已发布
     */
    @ApiModelProperty(value = "是否以发布，0：未发布 1:已发布")
    private Integer released;
    /**
     * 应用唯一标识
     */
    @ApiModelProperty(value = "应用唯一标识")
    private String appUniqueId;
    /**
     * 应用版本
     */
    @ApiModelProperty(value = "应用版本")
    private String appVersion;
    /**
     * 备注
     */
    @ApiModelProperty(value = "备注")
    @Size(max = 200, message = "hm.paas.app_remark_maxSize_error")
    private String remark;
    /**
     * 创建人
     */
    @ApiModelProperty(value = "创建人")
    private String createBy;
    /**
     * 创建时间
     */
    @ApiModelProperty(value = "创建时间")
    private LocalDateTime createDate;

    /**
     * 乐观锁版本
     */
    @ApiModelProperty(value = "乐观锁版本")
    private Long version;

    private String managerIds;

    private String designerVersion;
}
